home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-06-28 | 3.4 KB | 113 lines | [TEXT/CWIE] |
- // Str.h
-
- #ifndef Str_h
- #define Str_h
-
- #ifndef PString_h
- #include "PString.h"
- #endif
-
- template < uint32 size >
- class Str: public PString
- {
- protected:
- uint8 characters[ size + 1 ];
-
- public:
- Str() : PString( Data( characters, size+1 ) ) { Clear(); }
- Str( PString text ) : PString( Data( characters, size+1 ), text ) {}
- Str( ConstPString text ) : PString( Data( characters, size+1 ), text ) {}
- Str( ConstStr255Param text ) : PString( Data( characters, size+1 ), text ) {}
- Str( ConstData text ) : PString( Data( characters, size+1 ), text ) {}
- };
-
- class String255: public Str<255>
- {
- public:
- String255() {}
- String255( PString text ) : Str<255>( text ) {}
- String255( ConstPString text ) : Str<255>( text ) {}
- String255( ConstStr255Param text ) : Str<255>( text ) {}
- String255( ConstData text ) : Str<255>( text ) {}
-
- operator StringPtr() { return characters; }
- operator Str255&() { return characters; }
- operator Str63&() { return characters; }
- operator Str32&() { return characters; }
- operator Str31&() { return characters; }
- operator Str27&() { return characters; }
- operator Str15&() { return characters; }
- };
-
- class String63: public Str<63>
- {
- public:
- String63() {}
- String63( PString text ) : Str<63>( text ) {}
- String63( ConstPString text ) : Str<63>( text ) {}
- String63( ConstStr255Param text ) : Str<63>( text ) {}
- String63( ConstData text ) : Str<63>( text ) {}
-
- operator Str63&() { return characters; }
- operator Str32&() { return characters; }
- operator Str31&() { return characters; }
- operator Str27&() { return characters; }
- operator Str15&() { return characters; }
- };
-
- class String32: public Str<32>
- {
- public:
- String32() {}
- String32( PString text ) : Str<32>( text ) {}
- String32( ConstPString text ) : Str<32>( text ) {}
- String32( ConstStr255Param text ) : Str<32>( text ) {}
- String32( ConstData text ) : Str<32>( text ) {}
-
- operator Str32&() { return characters; }
- operator Str31&() { return characters; }
- operator Str27&() { return characters; }
- operator Str15&() { return characters; }
- };
-
- class String31: public Str<31>
- {
- public:
- String31() {}
- String31( PString text ) : Str<31>( text ) {}
- String31( ConstPString text ) : Str<31>( text ) {}
- String31( ConstStr255Param text ) : Str<31>( text ) {}
- String31( ConstData text ) : Str<31>( text ) {}
-
- operator Str31&() { return characters; }
- operator Str27&() { return characters; }
- operator Str15&() { return characters; }
- };
-
- class String27: public Str<27>
- {
- public:
- String27() {}
- String27( PString text ) : Str<27>( text ) {}
- String27( ConstPString text ) : Str<27>( text ) {}
- String27( ConstStr255Param text ) : Str<27>( text ) {}
- String27( ConstData text ) : Str<27>( text ) {}
-
- operator Str27&() { return characters; }
- operator Str15&() { return characters; }
- };
-
- class String15: public Str<15>
- {
- public:
- String15() {}
- String15( PString text ) : Str<15>( text ) {}
- String15( ConstPString text ) : Str<15>( text ) {}
- String15( ConstStr255Param text ) : Str<15>( text ) {}
- String15( ConstData text ) : Str<15>( text ) {}
-
- operator Str15&() { return characters; }
- };
-
- #endif
-